//
//  链表.c
//  XJZDCC
//
//  Created by 马鹏朔 on 2022/4/27.
//
//什么是链表：链表是结构体变量与结构变量通过指针连接在一起
//动态创建一个链表：动态内存的申请+模块化设计
//1创建链表（创建一个表头表示真个链表）
//2创建结点
//3删除结点
//打印遍历链表（测试）
//动态类型需要用到malloc 函数
//#include<stdio.h>
//#include<stdlib.h>
//int main()
//{
//    int *p;
//    p=(int*)malloc(sizeof(int));
//    *p=10;
//    printf("%d\n",*p);
//    return 0;
//}
//#include<stdio.h>
//#include<stdlib.h>
//struct node
//{
//    int data;
//    struct node *next;
//};
//int main()
//{
//    struct node *head,*p,*q = NULL,*t;
//    int i,n,a;
//    scanf("%d",&n);
//    head =NULL;
//    for(i=1;i<=n;i++)
//    {
//        scanf("%d",&a);
//        p=(struct node*)malloc(sizeof(struct node));
//        p->data=a;
//        p->next=NULL;
//        if(head==NULL)
//        {
//            head=p;
//        }
//        else
//        q->next=p;
//        q=p;
//    }
//    scanf("%d",&a);
//    t=head;
//    while(t!=NULL)
//    {
//        if(t->next->data>a)
//        {
//            p=(struct node*)malloc(sizeof(struct node));
//            p->data=a;
//            p->next=t->next;
//            t->next=p;
//            break;
//        }
//        t=t->next;
//    }
//    while(t!=NULL)
//    {
//        printf("%d ",t->data);
//        t=t->next;
//    }
//    return 0;
//}
//
//
//#include<stdio.h>
//#include<stdlib.h>
//struct Node{
//    int data;
//    struct Node* next;
//};
//struct Node*createlist()
//{
//    struct Node*headNode=(struct Node*)malloc(sizeof(struct Node));
//    headNode->data;
//    headNode->next = NULL;
//    return headNode;
//}
////创建结点
//struct Node*createNode(int data)
//{
//    struct Node* newNode = (struct Node*)malloc(sizeof(struct Node));
//    newNode->data=data;
//    newNode->next =NULL;
//    return newNode;
//}
//void printList(struct Node*headNode)
//{
//    struct Node*pMove = headNode->next;
//    while(pMove)
//    {
//        printf("%d ",pMove->data);
//        pMove=pMove->next;
//    }
//    printf("\n");
//}
//void insertNodeByHead(struct Node*headNode,int data)
//    {
//        //1创建插入的结点
//        struct Node*newNode =createNode(data);
//        newNode->next=headNode->next;
//        headNode->next =newNode;
//        
//    }
//
//int main()
//{
//    struct Node*list =createlist();
//    insertNodeByHead(list,1);
//    insertNodeByHead(list,2);
//    insertNodeByHead(list,3);
//    printList(list);
//    return 0;;
//}
//
